﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Modelos;
using System.ComponentModel.DataAnnotations;

namespace Administracion.Controllers
{
    public class EmpresasController : Controller
    {
        //
        // GET: /Empresas/

        private  DataContextGeneral DataContext = new DataContextGeneral();

        public ActionResult Index()
        {
            return View(model: DataContext.Empresas);
        }

        [HttpGet]
        public ActionResult Agregar()
        {
            return View();
        }


        [HttpPost]
        public ActionResult Agregar(ValidarEmpresa unaEmpresa)
        {
            if (ModelState.IsValid)
            {
                var nuevaEmpresa = new Empresa();

                nuevaEmpresa.Codigo = unaEmpresa.Codigo;
                nuevaEmpresa.Nombre = unaEmpresa.Nombre;

                DataContext.Empresas.Add(nuevaEmpresa);

                DataContext.SaveChanges();

                return View();   
            }

            return View();
            
        }

        [HttpGet]
        public ActionResult Borrar(int codigo)
        {
            var unaEmpresa = DataContext.Empresas.Find(codigo);
            DataContext.Empresas.Remove(unaEmpresa);

            DataContext.SaveChanges();

            return RedirectToAction("Index", "Empresas");
        }

        public class ValidarEmpresa
        {
            [Required(ErrorMessage = "Debe Ingresar un Codigo de Empresa Valido")]
            public int Codigo { get; set; }

            [Required(ErrorMessage = "Debe Ingresar el Nombre de la Empresa")]
            public string Nombre { get; set; }
        }
    }
}
